package com.yida.gwj.config.service;

import com.yida.gwj.api.domain.GwjConfCalculateData;

import java.util.List;

/**
 * 计算金额算法Service接口
 *
 * @author lqq
 * @date 2022-12-13
 */
public interface IGwjConfCalculateDataService {
	/**
	 * 查询计算金额算法列表
	 *
	 * @param calculateData 计算金额算法
	 * @return 计算金额算法集合
	 */
	List<GwjConfCalculateData> selectGwjConfCalculateDataList(GwjConfCalculateData calculateData);

	/**
	 * 查询计算金额算法
	 *
	 * @param calculateDataId 计算金额算法主键
	 * @return 计算金额算法
	 */
	public GwjConfCalculateData selectByCalculateDataId(Long calculateDataId);

	/**
	 * 新增计算金额算法
	 *
	 * @param gcCalculateData 计算金额算法
	 * @return 结果
	 */
	public int insertGwjConfCalculateData(GwjConfCalculateData gcCalculateData);

	/**
	 * 修改计算金额算法
	 *
	 * @param gcCalculateData 计算金额算法
	 * @return 结果
	 */
	public int updateGwjConfCalculateData(GwjConfCalculateData gcCalculateData);

	/**
	 * 批量删除计算金额算法
	 *
	 * @param gwjConfCalculateDataIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteByGwjConfCalculateDataIds(Long[] gwjConfCalculateDataIds);

	/**
	 * 查询计算标准值数据
	 *
	 * @param calculateTypeId 计算类型ID
	 * @param areaId          地区ID
	 * @param buildTypeId     楼栋类型ID
	 * @return 计算金额算法
	 */
	GwjConfCalculateData selectCalculateDataByCalculateTypeIdAndAreaIdAndBuildTypeId(Long calculateTypeId, Long areaId, Integer buildTypeId);

}
